package core;

public abstract class Command extends ModelObject
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 749005745678505970L;
	protected int addGroupMemberNumber;
	protected Item item;
	
	public Command()
	{
		
	}
	/**
	 * performs the action defined by the class
	 */
	public abstract Item execute();
	/**
	 * undoes the action performed by the class
	 */
	public abstract Item undo();
	/**
	 * re-does the action performed by the class
	 */
	
	public int getGroupNumber()
	{
		return addGroupMemberNumber;
	}
	
	public Item getItem()
	{
		return item;
	}
	//public abstract void redo();

}
